﻿
using System;
using System.Runtime.Serialization;
using V82;
using V82.Перечисления;//Ссылка;
namespace V82.Перечисления//Ссылка
{
	///<summary>
	///(Общ)
	///</summary>
	[DataContract]
	public enum ВидыОперацийПКО
	{
		[NonSerialized]
		ПустаяСсылка = - 1,
	///<summary>
	///(Общ)
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"73398a84-4ece-4e58-abef-61700b14c098\", \"Представление\":\"ОплатаПокупателя\"}")]
		ОплатаПокупателя = 0,//Оплата от покупателя
	///<summary>
	///(Общ)
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"049f47c2-d4b5-4ca8-b82b-b6efb12a0d8e\", \"Представление\":\"ПриходДенежныхСредствРозничнаяВыручка\"}")]
		ПриходДенежныхСредствРозничнаяВыручка = 1,//Прием розничной выручки
	///<summary>
	///(Общ)
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"93826d22-c093-490f-b870-96da406388f3\", \"Представление\":\"ВозвратДенежныхСредствПодотчетником\"}")]
		ВозвратДенежныхСредствПодотчетником = 2,//Возврат денежных средств подотчетником
	///<summary>
	///(Общ)
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"2ed1e96c-305b-459c-a73a-63326cdcfb23\", \"Представление\":\"ВозвратДенежныхСредствПоставщиком\"}")]
		ВозвратДенежныхСредствПоставщиком = 3,//Возврат денежных средств поставщиком
	///<summary>
	///(Общ)
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"ae168908-073d-4840-8720-cf4a7923e1c1\", \"Представление\":\"ПолучениеНаличныхДенежныхСредствВБанке\"}")]
		ПолучениеНаличныхДенежныхСредствВБанке = 4,//Получение наличных денежных средств в банке
		[EnumMember(Value = "{\"Ссылка\":\"d2caa23f-4726-4dca-b78c-ec91003bdd99\", \"Представление\":\"РасчетыПоКредитамИЗаймамСКонтрагентами\"}")]
		РасчетыПоКредитамИЗаймамСКонтрагентами = 5,//Расчеты по кредитам и займам с контрагентами
	///<summary>
	///(Общ)
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"faef26be-016f-4c44-a4e0-53467bd283cb\", \"Представление\":\"ВозвратДенежныхСредствРаботником\"}")]
		ВозвратДенежныхСредствРаботником = 6,//Возврат денежных средств работником
		[EnumMember(Value = "{\"Ссылка\":\"7116f06b-975e-4397-bfac-2f49c24ee60e\", \"Представление\":\"РасчетыПоКредитамИЗаймамСРаботниками\"}")]
		РасчетыПоКредитамИЗаймамСРаботниками = 7,//Расчеты по кредитам и займам с работниками
	///<summary>
	///(Общ)
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"2376ebf3-20e5-45d2-b186-49a51f63b7ac\", \"Представление\":\"ПриходДенежныхСредствПрочее\"}")]
		ПриходДенежныхСредствПрочее = 8,//Прочий приход денежных средств
		[EnumMember(Value = "{\"Ссылка\":\"8016240f-795f-437a-93a9-970851b0821b\", \"Представление\":\"ПрочиеРасчетыСКонтрагентами\"}")]
		ПрочиеРасчетыСКонтрагентами = 9,//Прочие расчеты с контрагентами
	}
	public static partial class ВидыОперацийПКО_Значения//:ПеречислениеСсылка
	{
		///<summary>
		///(Общ)
		///</summary>
		public static readonly Guid ОплатаПокупателя = new Guid("7061efab-140b-98c0-4e58-4ece73398a84");//Оплата от покупателя
		///<summary>
		///(Общ)
		///</summary>
		public static readonly Guid ПриходДенежныхСредствРозничнаяВыручка = new Guid("efb62bb8-2ab1-8e0d-4ca8-d4b5049f47c2");//Прием розничной выручки
		///<summary>
		///(Общ)
		///</summary>
		public static readonly Guid ВозвратДенежныхСредствПодотчетником = new Guid("da9670b8-6340-f388-490f-c09393826d22");//Возврат денежных средств подотчетником
		///<summary>
		///(Общ)
		///</summary>
		public static readonly Guid ВозвратДенежныхСредствПоставщиком = new Guid("32633aa7-dc6c-23fb-459c-305b2ed1e96c");//Возврат денежных средств поставщиком
		///<summary>
		///(Общ)
		///</summary>
		public static readonly Guid ПолучениеНаличныхДенежныхСредствВБанке = new Guid("4acf2087-2379-c1e1-4840-073dae168908");//Получение наличных денежных средств в банке
		public static readonly Guid РасчетыПоКредитамИЗаймамСКонтрагентами = new Guid("91ec8cb7-3b00-99dd-4dca-4726d2caa23f");//Расчеты по кредитам и займам с контрагентами
		///<summary>
		///(Общ)
		///</summary>
		public static readonly Guid ВозвратДенежныхСредствРаботником = new Guid("4653e0a4-d27b-cb83-4c44-016ffaef26be");//Возврат денежных средств работником
		public static readonly Guid РасчетыПоКредитамИЗаймамСРаботниками = new Guid("492facbf-4ec2-0ee6-4397-975e7116f06b");//Расчеты по кредитам и займам с работниками
		///<summary>
		///(Общ)
		///</summary>
		public static readonly Guid ПриходДенежныхСредствПрочее = new Guid("a54986b1-631f-acb7-45d2-20e52376ebf3");//Прочий приход денежных средств
		public static readonly Guid ПрочиеРасчетыСКонтрагентами = new Guid("0897a993-b051-1b82-437a-795f8016240f");//Прочие расчеты с контрагентами
		public static ВидыОперацийПКО Получить(this ВидыОперацийПКО Значение, byte[] Ссылка)
		{
			return Получить(Значение, new Guid(Ссылка));
		}
		public static ВидыОперацийПКО Получить(this ВидыОперацийПКО Значение, Guid Ссылка)
		{
			if(Ссылка == ОплатаПокупателя)
			{
				return ВидыОперацийПКО.ОплатаПокупателя;
			}
			else if(Ссылка == ПриходДенежныхСредствРозничнаяВыручка)
			{
				return ВидыОперацийПКО.ПриходДенежныхСредствРозничнаяВыручка;
			}
			else if(Ссылка == ВозвратДенежныхСредствПодотчетником)
			{
				return ВидыОперацийПКО.ВозвратДенежныхСредствПодотчетником;
			}
			else if(Ссылка == ВозвратДенежныхСредствПоставщиком)
			{
				return ВидыОперацийПКО.ВозвратДенежныхСредствПоставщиком;
			}
			else if(Ссылка == ПолучениеНаличныхДенежныхСредствВБанке)
			{
				return ВидыОперацийПКО.ПолучениеНаличныхДенежныхСредствВБанке;
			}
			else if(Ссылка == РасчетыПоКредитамИЗаймамСКонтрагентами)
			{
				return ВидыОперацийПКО.РасчетыПоКредитамИЗаймамСКонтрагентами;
			}
			else if(Ссылка == ВозвратДенежныхСредствРаботником)
			{
				return ВидыОперацийПКО.ВозвратДенежныхСредствРаботником;
			}
			else if(Ссылка == РасчетыПоКредитамИЗаймамСРаботниками)
			{
				return ВидыОперацийПКО.РасчетыПоКредитамИЗаймамСРаботниками;
			}
			else if(Ссылка == ПриходДенежныхСредствПрочее)
			{
				return ВидыОперацийПКО.ПриходДенежныхСредствПрочее;
			}
			else if(Ссылка == ПрочиеРасчетыСКонтрагентами)
			{
				return ВидыОперацийПКО.ПрочиеРасчетыСКонтрагентами;
			}
			return ВидыОперацийПКО.ПустаяСсылка;
		}
		public static byte[] Ключ(this ВидыОперацийПКО Значение)
		{
			return Ссылка(Значение).ToByteArray();
		}
		public static Guid Ссылка(this ВидыОперацийПКО Значение)
		{
			switch (Значение)
			{
				case ВидыОперацийПКО.ОплатаПокупателя: return ОплатаПокупателя;
				case ВидыОперацийПКО.ПриходДенежныхСредствРозничнаяВыручка: return ПриходДенежныхСредствРозничнаяВыручка;
				case ВидыОперацийПКО.ВозвратДенежныхСредствПодотчетником: return ВозвратДенежныхСредствПодотчетником;
				case ВидыОперацийПКО.ВозвратДенежныхСредствПоставщиком: return ВозвратДенежныхСредствПоставщиком;
				case ВидыОперацийПКО.ПолучениеНаличныхДенежныхСредствВБанке: return ПолучениеНаличныхДенежныхСредствВБанке;
				case ВидыОперацийПКО.РасчетыПоКредитамИЗаймамСКонтрагентами: return РасчетыПоКредитамИЗаймамСКонтрагентами;
				case ВидыОперацийПКО.ВозвратДенежныхСредствРаботником: return ВозвратДенежныхСредствРаботником;
				case ВидыОперацийПКО.РасчетыПоКредитамИЗаймамСРаботниками: return РасчетыПоКредитамИЗаймамСРаботниками;
				case ВидыОперацийПКО.ПриходДенежныхСредствПрочее: return ПриходДенежныхСредствПрочее;
				case ВидыОперацийПКО.ПрочиеРасчетыСКонтрагентами: return ПрочиеРасчетыСКонтрагентами;
			}
			return Guid.Empty;
		}
	}
}